The present invention relates to improvements in the usability of medical information systems, and in particular to a facility that supports users switching among different application programs such that these applications retain the same patient context.
Computer programs have been developed to support many different aspects of the healthcare delivery system (e.g., clinical information systems, patient monitoring systems, decision support systems, hospital administration systems). The resulting medical information system is a diverse array of relatively independent programs: programs developed at different times, programs developed to address different problems, programs developed by or for people with different areas of expertise. In evaluating any particular patient situation, a user of such a composite medical information system may need to review data about a single patient using more than one program.
Although programmers have developed mechanisms for sending data from one program to another, for coordination of the displays in separate windows of one program, for event-driven message passing between programs, and other such techniques, the usability of composite medical information systems continues to suffer from the separateness of the programs that make up such systems. Because of the independent nature of such programs, one program does not have the benefit of the context of another of the programs. For example, a clinician must go through similar (seemingly redundant) introductory steps (such as to identify and locate a particular patient""s record) with each program.
According to the present invention, a patient context interface (PCI) provides services to a plurality of programs within a composite medical information system. The PCI provides these services by means of an application programming interface (API).
These services include the following: registering application programs using the PCI (and permitting applications to learn about other applications that have registered to use the PCI); registering application programs for particular events, such as a change in an item of stored patient context information, (and sending notifications to such applications when an update to such stored item occurs); storing patient context information received from application programs (and providing this stored information to other applications upon request). These services permit an application to send various types of events to all other programs that have registered for that type of event. Further, these services permit one application to send a focus change event to a specified second application and permit the second application to read patient context information so that the second application display""s data coordinated with the first application (for example, the second application can automatically retrieve data for the same patient whose data is being displayed by the first application).
With the PCI, each of a plurality of applications can be written to work with a single, common interface and yet share patient context with a plurality of other applications.
In addition, using the PCI, an application can identify (on a real-time basis) other medical applications, can present to a user of the system a list of such applications from which the user can select an application, and can cause the user interface focus to switch to that selected application.
Thus, the PCI permits medical applications to share patient context information, such as patient identifications (e.g., the clinician is now looking at data for the patient with medical record number X), time periods (e.g., the clinician is now looking at last week""s data), body system (e.g., the clinician is now looking at data relating to the functioning of the patient""s neural system), disease (e.g., the clinician is now looking at data indicative of the progress of a particular one of the patient""s physiological disorders), department (e.g., the clinician is now looking at data from the cardiology department).